const path = require('path');

function resolve(dir) {
  return path.join(__dirname, dir);
}

module.exports = {
  transpileDependencies: true,
  devServer: {
    port: 8080,
    client: {
      overlay: false // 禁用全屏覆盖错误提示
    }
  },
  chainWebpack: config => {
    // 1. 修改 HTML 标题
    config.plugin('html')
      .tap(args => {
        args[0].title = "管理系统";
        return args;
      });

    // 2. 配置 SVG 雪碧图
    config.module
      .rule('svg')
      .exclude.add(resolve('src/icons')) // 排除默认 svg 规则对 icons 目录的处理
      .end();

    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons')) // 仅对 icons 目录的 svg 应用雪碧图
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]', // 生成的雪碧图 ID 格式：icon-文件名
        extract: false // 开发模式不单独提取雪碧图（提升构建速度）
      });
  }
};